Using Structural Recursion for Corecursion

نویسندگان

  • Yves Bertot
  • Ekaterina Komendantskaya
چکیده

We propose a (limited) solution to the problem of constructing stream values defined by recursive equations that do not respect the guardedness condition. The guardedness condition is imposed on definitions of corecursive functions in Coq, AGDA, and other higher-order proof assistants. In this paper, we concentrate in particular on those nonguarded equations where recursive calls appear under functions. We use a correspondence between streams and functions over natural numbers to show that some classes of non-guarded definitions can be modelled through the encoding as structural recursive functions. In practice, this work extends the class of stream values that can be defined in a constructive type theory-based theorem prover with inductive and coinductive types, structural recursion and guarded corecursion.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Corecursive Algebras: A Study of General Structured Corecursion (Extended Abstract)

We study general structured corecursion, dualizing the work of Osius, Taylor, and others on general structured recursion. We call an algebra of a functor corecursive if it supports general structured corecursion: there is a unique map to it from any coalgebra of the same functor. The concept of antifounded algebra is a statement of the bisimulation principle. We show that it is independent from...

متن کامل

A categorical (fixed point) foundation for cognition: (adjoint) corecursion

Abstract: Computationalism has been the pre-eminent framework for models of mind, since the cognitive revolution. However, the plethora of apparently incommensurate approaches seems to undermine hope for a common computational foundation. Category theory provides a mathematically rigorous foundation for computation that includes recursion and corecursion. We show that corecursion unifies variou...

متن کامل

Monadic Corecursion |deenition, Fusion Laws, and Applications|

This paper investigates corecursive deenitions which are at the same time monadic. This corresponds to functions that generate a data structure following a corecursive process, while producing a computational eeect modeled by a monad. We introduce a functional, called monadic anamorphism, that captures deenitions of this kind. We also explore another class of monadic recursive functions, corres...

متن کامل

Ramified Structural Recursion and Corecursion

We investigate feasible computation over a fairly general notion of data and codata. Specifically, we present a direct Bellantoni-Cookstyle normal/safe typed programming formalism, RS1 , that expresses feasible structural recursions and corecursions over data and codata specified by polynomial functors. (Lists, streams, finite trees, infinite trees, etc. are all directly definable.) A novel asp...

متن کامل

Inductive and Coinductive types with Iteration and Recursion in a Polymorphic Framework

We study (extensions of) polymorphic typed lambda calculus from a point of view of how iterative and recursive functions on inductive types are represented. The inductive types can usually be understood as initial algebras in a certain category and then recursion can be defined in terms of iteration. However, in the syntax we often have only weak initiality, which makes the definition of recurs...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2008